﻿using Hhmocon.Mes.Application;
using Hhmocon.Mes.Application.Base;
using Hhmocon.Mes.Repository.Domain;
using Hhmocon.Mes.Util;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using System;


namespace Hhmocon.Mes.WebApi.Controllers.Base
{
    [Route("api/[controller]/[action]")]
    [EnableCors(PolicyName = "_hhmoconmesAllowSpecificOrigins")]
    [ApiController]

    public class BaseCustomersController : ControllerBase
    {
    //    private BaseCustomerApp _app;
    //    private PikachuApp _pikachuApp;

    //    public BaseCustomersController(BaseCustomerApp app, PikachuApp picachuRepository)
    //    {
    //        _app = app;
    //        _pikachuApp = picachuRepository;
    //    }


    //    /// <summary>
    //    /// 得到用户列表数据
    //    /// </summary>
    //    /// <param name="req"></param>
    //    /// <returns></returns>
    //    [HttpPost]
    //    public Response<PageData> GetList(PageReq req)
    //    {
    //        var result = new Response<PageData>();
    //        try
    //        {
    //            PageData pd = new PageData();
    //            long lcount = 0;
    //            pd.Data = _pikachuApp.GetList<base_customer>(req, ref lcount);
    //            pd.Total = lcount;
    //            result.Result = pd;
    //        }
    //        catch (Exception ex)
    //        {
    //            result.Code = 500;
    //            result.Message = ex.InnerException?.Message ?? ex.Message;
    //        }
    //        return result;
    //    }

    //    /// <summary>
    //    /// 根据条件得到全部用户列表数据
    //    /// </summary>
    //    /// <param name="req"></param>
    //    /// <returns></returns>
    //    [HttpPost]
    //    public Response<PageData> GetAll(PageReq req)
    //    {
    //        var result = new Response<PageData>();
    //        try
    //        {
    //            PageData pd = new PageData();
    //            long lcount = 0;
    //            pd.Data = _pikachuApp.GetAll<base_customer>(req, ref lcount);
    //            pd.Total = lcount;
    //            result.Result = pd;
    //        }
    //        catch (Exception ex)
    //        {
    //            result.Code = 500;
    //            result.Message = ex.InnerException?.Message ?? ex.Message;
    //        }

    //        return result;
    //    }

    //    /// <summary>
    //    /// 更新用户信息
    //    /// </summary>
    //    /// <param name="obj"></param>
    //    /// <returns></returns>
    //    [HttpPost]
    //    public Response<string> Update(base_customer obj)
    //    {
    //        var result = new Response<string>();
    //        try
    //        {
    //            //如果根据code能找到内容
    //            if (_pikachuApp.Get_ByCode<base_customer>(obj.customer_code) != null)
    //            {
    //                result.Code = 500;
    //                result.Message =
    //      string.Format("顾客编码重复，数据库中已存在有该Code={0}的位置数据，请重新填写", obj.customer_code);

    //                return result;
    //            }


    //            result.Result = obj.customer_id;

    //            if (!_pikachuApp.Update(obj))
    //            {
    //                //更新失败
    //                result.Code = 100;
    //                result.Message = "更新失败！";
    //            }
    //        }
    //        catch (Exception ex)
    //        {
    //            result.Code = 500;
    //            result.Message = ex.InnerException?.Message ?? ex.Message;
    //        }

    //        return result;
    //    }

    //    /// <summary>
    //    /// 根据用户ID 删除用户数据  可批量删除
    //    /// </summary>
    //    /// <param name="ids"></param>
    //    /// <returns></returns>
    //    [HttpPost]
    //    public Response<string[]> Delete(string[] ids)
    //    {
    //        var result = new Response<string[]>();
    //        try
    //        {
    //            result.Result = ids;

    //            if (!_pikachuApp.Delete_Mask<base_customer>(ids))
    //            {
    //                //更新失败
    //                result.Code = 100;
    //                result.Message = "操作失败！";
    //            }
    //        }
    //        catch (Exception ex)
    //        {
    //            result.Code = 500;
    //            result.Message = ex.InnerException?.Message ?? ex.Message;
    //        }

    //        return result;
    //    }

    //    /// <summary>
    //    /// 新建用户信息
    //    /// </summary>
    //    /// <param name="obj"></param>
    //    /// <returns></returns>
    //    [HttpPost]
    //    public Response<string> Create(base_customer obj)
    //    {
    //        var result = new Response<string>();
    //        try
    //        {
    //            //如果根据code能找到内容
    //            if(_pikachuApp.Get_ByCode<base_customer>(obj.customer_code)!=null)
    //            {
    //                result.Code = 500;
    //                result.Message =
    //      string.Format("顾客编码重复，数据库中已存在有该Code={0}的位置数据，请重新填写", obj.customer_code);

    //                return result;
    //            }

    //            base_customer data = _app.InsertCustomer(obj);
    //            if (data != null)
    //            {
    //                result.Result = data.customer_id;
    //            }
    //            else
    //            {
    //                //更新失败
    //                result.Code = 100;
    //                result.Message = "数据写入失败！";
    //            }
    //        }
    //        catch (Exception ex)
    //        {
    //            result.Code = 500;
    //            result.Message = ex.InnerException?.Message ?? ex.Message;
    //        }

    //        return result;
    //    }

    //    /// <summary>
    //    ///  根据ID得到用户明细信息
    //    /// </summary>
    //    /// <param name="id"></param>
    //    /// <returns></returns>
    //    [HttpPost]
    //    public Response<base_customer> GetDetail(string id)
    //    {
    //        var result = new Response<base_customer>();
    //        try
    //        {
    //            result.Result = _pikachuApp.GetById<base_customer>(id);
    //        }
    //        catch (Exception ex)
    //        {
    //            result.Code = 500;
    //            result.Message = ex.InnerException?.Message ?? ex.Message;
    //        }

    //        return result;
    //    }
    }
}
